const fs = require("fs");
const path = require("path");

 // 考屁模板文件们
 const copyModule = (_module_file_path, _out_file, targetArr) => {
    // 即将写入新地址的文件们
    fs.readdir(_module_file_path, (err, data) => {
      if (err) throw err;
      console.log(data);
      // 读取目录
      data.forEach((item) => {
        // 读取模板的文件内容
        let modulePath = path.resolve(path.join(_module_file_path, item));
        let module_file_content = fs.readFileSync(modulePath);
        let module_file_content_str = module_file_content.toString()
        console.log('targetArr =====>' ,targetArr)
        if(targetArr && targetArr.length > 0 ) {
          for(let i = 0 ; i < targetArr.length; i ++) {
            // 模板替换的字符串
            let module_reg = new RegExp('\\\$\\\{\\\{'+targetArr[i].key+'\\\}\\\}','g')
            module_file_content_str = module_file_content_str.replace(module_reg, targetArr[i].value)
          }
        }
        
        // 在目标文件夹新建同名文件
        let f_path = path.join(_out_file, item);
        console.log("f_path ====>", f_path);
        fs.writeFileSync(f_path, module_file_content_str);
        console.log("写入文件内容", f_path);
      });
    });
  };
  
  module.exports = copyModule;